package file;

import java.io.File;
import java.io.IOException;

public class FileDemo {
    public static void main(String[] args) throws IOException {
        //创建绝对路径的文件对象
        File f1=new File("D:\\桌面文件\\Room.java");
        System.out.println("是否是文件:"+f1.isFile());
        System.out.println("是否是文件夹:"+f1.isDirectory());
        System.out.println("是否存在:"+f1.exists());
        System.out.println("文件名:"+f1.getName());
        System.out.println("文件长度:"+f1.length());
        System.out.println("创建文件对象时用的路径:"+f1.getPath());
        System.out.println(f1);
        System.out.println("====================================");
        //创建相对路径的文件对象
        File f2=new File("Day05\\src\\file\\file");
        System.out.println("是否是文件:"+f2.isFile());
        System.out.println("绝对路径:"+f2.getAbsoluteFile());
        System.out.println("文件名:"+f1.getName());
        System.out.println("最后修改的时间:"+f2.lastModified());
        System.out.println("创建文件对象时用的路径:"+f2.getPath());
        System.out.println(f2);
        System.out.println("====================================");

        //创建文件
        File f3=new File("D:\\桌面文件\\aaa.txt");
        System.out.println(f3.createNewFile());

        //单极目录不加s，多级目录加s
        File f4=new File("D:\\桌面文件\\aaa\\bbb\\ccc");
        System.out.println(f4.mkdirs());
        //删除多级目录，删除空目录，删除最后一级的空目录
        System.out.println(f4.delete());
        System.out.println("=================================");
        //遍历文件
        File f5=new File("D:\\桌面文件");
        //拿到的只是文件名字
        String[] names=f5.list();
        if (names != null) {
            for(String name:names){
                System.out.println(name);
            }
        }
        System.out.println("=================================");
        //拿的是文件对象
        /*
        * 当主调是文件或者路径不存在，返回null
        * 当主调是空文件夹时，返回空数组
        * 当主调是有内容的文件夹时，返回里面所有一级文件和文件夹的文件的路径到文件对象数组
        * 可以返回隐藏路径
        * 没有访问权限时返回null
        * */
        File[] files=f5.listFiles();
        if (files != null) {
            for(File file:files){
                System.out.println(file);
            }
        }
    }
}
